class TopTablesController < ApplicationController
  include TablesHelper
  TableOption = Struct.new(:id,:name)
  def index
    @dine =Dine.find(params[:dine_id])
    @tables = @dine.tables
    @user_hash = query_statistics(@dine)
    session["pending_users"]=[]
    session["hide_table"]=[]
  end

  #分配用户到餐桌
  def allocation_user_to_table
    table_id=params[:table].to_i
    user_id = params[:user_id]
    table_id=params[:table].to_i
    current_table_id=params[:current_table]
    allocation_user_2_table(user_id,table_id,current_table_id)
  end

  #将用户从餐桌上放到待分配列表上
  def allocation_user_to_pending
    user_id = params[:user_id]
    table_id=params[:table].to_i
    remove_user_to_pending(table_id,user_id)
  end

  #移除用户
  def remove_user
    arr = params[:id].split(',')
    remove_user_to_pending(arr[0],arr[1])
  end

  #隐藏一个餐桌
  def hide_table
    table_id = params[:id]
    unless session["hide_table"]
      session["hide_table"]=[]
    end
    session["hide_table"] << TableOption.new(table_id,Table.find(table_id).name)
    render :update do |page|
      page.remove("table_#{table_id}")
      page.replace_html "hided_tables",:partial=>'show_tables_form'
    end
  end

  def show_table
    table_id = params[:table][:id]
    table =Table.find(table_id)
    session["hide_table"].delete(TableOption.new(table_id,Table.find(table_id).name))
    render :update do |page|
      page.insert_html :bottom,"tables",:partial=>'table',:locals=>{:table=>table}
      page.replace_html "hided_tables",:partial=>'show_tables_form'
    end
  end

  #根据单位获得还没有被分配的用户
  def select_with_ajax
    @users = query_statistics(Dine.find(params[:dine_id]))[params[:from]].collect { |user| [user.name, user.id] }
    render(:layout => false)
  end

  #添加单位
  def add_user
    @user= User.find(params[:user][:name])
#    if session["user_hash"][from].index(user)
#      session["user_hash"][from].delete(user)
#    end
    
    render :update do |page|
      page.insert_html :bottom,'pending_users',:partial=>'pending_user',:locals=>{:user=>@user}
    end
  end
end
